CE Gobi SDK  2.7
GobiApi
GobiConnectionMgmtAPI.h
1 /*===========================================================================
2 FILE:
3  GobiConnectionMgmtAPI.h
4 
5 DESCRIPTION:
6  QUALCOMM Connection Management API for Gobi 3000
7 
8 Copyright (C) 2011 QUALCOMM Incorporated. All rights reserved.
9  QUALCOMM Proprietary/GTDR
10 
11 All data and information contained in or disclosed by this document is
12 confidential and proprietary information of QUALCOMM Incorporated and all
13 rights therein are expressly reserved. By accepting this material the
14 recipient agrees that this material and the information contained therein
15 is held in confidence and in trust and will not be used, copied, reproduced
16 in whole or in part, nor its contents revealed in any manner to others
17 without the express written permission of QUALCOMM Incorporated.
18 ==========================================================================*/
19 #ifndef GobiConnectionMgmtAPI_H
20 #define GobiConnectionMgmtAPI_H
21 /*=========================================================================*/
22 // Definitions
23 /*=========================================================================*/
24 #ifdef GOBIAPI_EXPORTS
25  #define IMPORTGOBI extern "C" __declspec( dllexport )
26 #else //GOBIAPI_EXPORTS
27  #ifdef __cplusplus
28  /* C++ callable DLL */
29  #define IMPORTGOBI extern "C" __declspec( dllimport )
30  #else
31  /* C callable DLL */
32  #define IMPORTGOBI __declspec( dllimport )
33  #endif
34 #endif //GOBIAPI_EXPORTS
35 
36 // Calling convention for API
37 #define GOBICALLBACK __stdcall
38 #define GOBICMAPI __stdcall
39 
44 
45 
46 #ifdef __cplusplus
47  extern "C" {
48 #endif
49 
50 #define MAX_CDMA_SYS_INFO_MNC 3
51 #define MAX_CDMA_SYS_INFO_MCC 3
52 #define MAX_HDR_SYS_INFO_IS856SID 16
53 #define MAX_GSM_SYS_INFO_MCC 3
54 #define MAX_GSM_SYS_INFO_MNC 3
55 #define MAX_WCDMA_SYS_INFO_MCC 3
56 #define MAX_WCDMA_SYS_INFO_MNC 3
57 #define MAX_LTE_SYS_INFO_MCC 3
58 #define MAX_LTE_SYS_INFO_MNC 3
59 #define MAX_TDSCDMA_SYS_INFO_MCC 3
60 #define MAX_TDSCDMA_SYS_INFO_MNC 3
61 #define MAX_MCC 3
62 #define MAX_IMSI_11_12 2
63 #define MAX_IMSI_S1 7
64 #define MAX_IMSI_S2 3
65 
82 typedef struct
83 {
84  BYTE mcc_m[MAX_MCC];
85  BYTE imsi_m_11_12[MAX_IMSI_11_12];
86  BYTE imsi_m_s1[MAX_IMSI_S1];
87  BYTE imsi_m_s2[MAX_IMSI_S2];
88 } MinBasedImsi;
89 
110 typedef struct
111 {
112  BYTE mcc_t[MAX_MCC];
113  BYTE imsi_t_11_12[MAX_IMSI_11_12];
114  BYTE imsi_t_s1[MAX_IMSI_S1];
115  BYTE imsi_t_s2[MAX_IMSI_S2];
116  BYTE imsi_t_addr_num;
117 } TrueImsi;
118 
119 typedef struct
120 {
121  BYTE srvDomainValid;
122  BYTE srvDomain;
123  BYTE srvCapValid;
124  BYTE srvCap;
125  BYTE roamStatusValid;
126  BYTE roamStatus;
127  BYTE isSysForbiddenValid;
128  BYTE isSysForbidden;
129  BYTE isSysPrlMatchValid;
130  BYTE isSysPrlMatch;
131  BYTE pRevInUseValid;
132  BYTE pRevInUse;
133  BYTE bsPRevValid;
134  BYTE bsPRev;
135  BYTE ccsSupportedValid;
136  BYTE ccsSupported;
137  BYTE cdmaSysIdValid;
138  WORD sid;
139  WORD nid;
140  BYTE bsInfoValid;
141  WORD baseId;
142  ULONG baseLat;
143  ULONG baseLong;
144  BYTE packetZoneValid;
145  WORD packetZone;
146  BYTE networkIdValid;
147  CHAR mcc[MAX_CDMA_SYS_INFO_MCC];
148  CHAR mnc[MAX_CDMA_SYS_INFO_MNC];
150 
151 typedef struct
152 {
153  BYTE srvDomainValid;
154  BYTE srvDomain;
155  BYTE srvCapValid;
156  BYTE srvCap;
157  BYTE roamStatusValid;
158  BYTE roamStatus;
159  BYTE isSysForbiddenValid;
160  BYTE isSysForbidden;
161  BYTE isSysPrlMatchValid;
162  BYTE isSysPrlMatch;
163  BYTE hdrPersonalityValid;
164  BYTE hdrPersonality;
165  BYTE hdrActiveProtValid;
166  BYTE hdrActiveProt;
167  BYTE is856SysIdValid;
168  BYTE is856SysId[MAX_HDR_SYS_INFO_IS856SID];
169 } HdrSystemInfo;
170 
171 typedef struct
172 {
173  BYTE srvDomainValid;
174  BYTE srvDomain;
175  BYTE srvCapValid;
176  BYTE srvCap;
177  BYTE roamStatusValid;
178  BYTE roamStatus;
179  BYTE isSysForbiddenValid;
180  BYTE isSysForbidden;
181  BYTE lacValid;
182  WORD lac;
183  BYTE cellIdValid;
184  ULONG cellId;
185  BYTE regRejectInfoValid;
186  BYTE regRejectSrvDomain;
187  BYTE rejectCause;
188  BYTE networkIdValid;
189  CHAR mcc[MAX_GSM_SYS_INFO_MCC];
190  CHAR mnc[MAX_GSM_SYS_INFO_MNC];
191  BYTE egprsSuppValid;
192  BYTE egprsSupp;
193  BYTE dtmSuppValid;
194  BYTE dtmSupp;
195 } GsmSystemInfo;
196 
197 typedef struct
198 {
199  BYTE srvDomainValid;
200  BYTE srvDomain;
201  BYTE srvCapValid;
202  BYTE srvCap;
203  BYTE roamStatusValid;
204  BYTE roamStatus;
205  BYTE isSysForbiddenValid;
206  BYTE isSysForbidden;
207  BYTE lacValid;
208  WORD lac;
209  BYTE cellIdValid;
210  ULONG cellId;
211  BYTE regRejectInfoValid;
212  BYTE regRejectSrvDomain;
213  BYTE rejectCause;
214  BYTE networkIdValid;
215  CHAR mcc[MAX_WCDMA_SYS_INFO_MCC];
216  CHAR mnc[MAX_WCDMA_SYS_INFO_MNC];
217  BYTE hsCallStatusValid;
218  BYTE hsCallStatus;
219  BYTE hsIndValid;
220  BYTE hsInd;
221  BYTE pscValid;
222  WORD psc;
224 
225 typedef struct
226 {
227  BYTE srvDomainValid;
228  BYTE srvDomain;
229  BYTE srvCapValid;
230  BYTE srvCap;
231  BYTE roamStatusValid;
232  BYTE roamStatus;
233  BYTE isSysForbiddenValid;
234  BYTE isSysForbidden;
235  BYTE lacValid;
236  WORD lac;
237  BYTE cellIdValid;
238  ULONG cellId;
239  BYTE regRejectInfoValid;
240  BYTE regRejectSrvDomain;
241  BYTE rejectCause;
242  BYTE networkIdValid;
243  CHAR mcc[MAX_LTE_SYS_INFO_MCC];
244  CHAR mnc[MAX_LTE_SYS_INFO_MNC];
245  BYTE tacValid;
246  WORD tac;
247 } LteSystemInfo;
248 
249 typedef struct
250 {
251  BYTE srvDomainValid;
252  BYTE srvDomain;
253  BYTE srvCapValid;
254  BYTE srvCap;
255  BYTE roamStatusValid;
256  BYTE roamStatus;
257  BYTE isSysForbiddenValid;
258  BYTE isSysForbidden;
259  BYTE lacValid;
260  WORD lac;
261  BYTE cellIdValid;
262  ULONG cellId;
263  BYTE regRejectInfoValid;
264  BYTE regRejectSrvDomain;
265  BYTE rejectCause;
266  BYTE networkIdValid;
267  CHAR mcc[MAX_TDSCDMA_SYS_INFO_MCC];
268  CHAR mnc[MAX_TDSCDMA_SYS_INFO_MNC];
269  BYTE hsCallStatusValid;
270  BYTE hsCallStatus;
271  BYTE hsIndValid;
272  BYTE hsInd;
273  BYTE cellParameterIdValid;
274  WORD cellParameterId;
275  BYTE cellBroadcastCapValid;
276  ULONG cellBroadcastCap;
277  BYTE csBarStatusValid;
278  ULONG csBarStatus;
279  BYTE psBarStatusValid;
280  ULONG psBarStatus;
281  BYTE cipherDomainValid;
282  BYTE cipherDomain;
284 
285 typedef struct
286 {
287  ULONG PilotType;
288  WORD PilotPn;
289  WORD PilotStrength;
290 } HrpdPilot;
291 
292 typedef struct
293 {
294  BYTE isRadioTuned;
295  LONG rxPwr;
296  LONG ecio;
297  LONG rscp;
298  LONG rsrp;
299  LONG phase;
300 } RxInfo;
301 
302 typedef struct
303 {
304  BYTE isInTraffic;
305  LONG txPwr;
306 } TxInfo;
307 
309 {
311  ULONG nVersion;
312 
324 
330 
336 
342 
345 
354  ULONG nRadioIf[255];
355 
363 
366 
381  ULONG nDataCapabilities[255];
382 
386 
390 
394 
397 
399  {
400  nVersion = 2;
401  memset( &nRadioIf[0], 0, sizeof(ULONG) * 255 );
402  memset( &nDataCapabilities[0], 0, sizeof(ULONG) * 255);
403  memset( &NetworkDescription[0], 0, sizeof(NetworkDescription));
404  }
405 };
406 
407 // Session state callback function
408 typedef void (GOBICALLBACK * tFNSessionState)(
409  ULONG state,
410  ULONG sessionEndReason );
411 
412 // RX/TX byte counts callback function
413 typedef void (GOBICALLBACK * tFNByteTotals)(
414  ULONGLONG totalBytesTX,
415  ULONGLONG totalBytesRX );
416 
417 // Dormancy status callback function
418 typedef void (GOBICALLBACK * tFNDormancyStatus)( ULONG dormancyStatus );
419 
420 // Mobile IP status callback function
421 typedef void (GOBICALLBACK * tFNMobileIPStatus)( ULONG mipStatus );
422 
423 // Activation status callback function
424 typedef void (GOBICALLBACK * tFNActivationStatus)( ULONG activationStatus );
425 
426 // Power operating mode callback function
427 typedef void (GOBICALLBACK * tFNPower)( ULONG operatingMode );
428 
429 // Wireless disable callback function
430 typedef void (GOBICALLBACK * tFNWirelessDisable)( ULONG bState );
431 
432 // Serving system callback function
433 typedef void (GOBICALLBACK * tFNServingSystem)(
434  BYTE registrationState,
435  BYTE csAttachState,
436  BYTE psAttachState,
437  BYTE selectedNetwork,
438  BYTE inUseRadioIfListNum,
439  BYTE * pRadioIf );
440 
441 // Serving system Current PLMN callback function
442 typedef void (GOBICALLBACK * tFNCurrentPlmn)(
443  WORD mobileCountryCode,
444  WORD mobileNetworkCode,
445  BYTE networkDescriptionLength,
446  CHAR * pNetworkDescription );
447 
448 // Serving system info callback function (struct containing serving system, current plmn data capability and romaing indicator)
449 typedef void (GOBICALLBACK * tFNSwiServingSystemInfo)(
450  SWI_STRUCT_ServingSystem * pServingSystemInfo );
451 
452 // Serving system data capabilities callback function
453 typedef void (GOBICALLBACK * tFNDataCapabilities)(
454  BYTE dataCapsSize,
455  BYTE * pDataCaps );
456 
457 // Data bearer technology callback function
458 typedef void (GOBICALLBACK * tFNDataBearer)( ULONG dataBearer );
459 
460 // Roaming indicator callback function
461 typedef void (GOBICALLBACK * tFNRoamingIndicator)( ULONG roaming );
462 
463 // Signal strength callback function
464 typedef void (GOBICALLBACK * tFNSignalStrength)(
465  INT8 signalStrength,
466  ULONG radioInterface );
467 
468 // RF information callback function
469 typedef void (GOBICALLBACK * tFNRFInfo)(
470  ULONG radioInterface,
471  ULONG activeBandClass,
472  ULONG activeChannel );
473 
474 // LU reject callback function
475 typedef void (GOBICALLBACK * tFNLUReject)(
476  ULONG serviceDomain,
477  ULONG rejectCause );
478 
479 // PLMN mode callback function
480 typedef void (GOBICALLBACK * tFNPLMNMode)( ULONG mode );
481 
482 // New SMS message callback function
483 typedef void (GOBICALLBACK * tFNNewSMS)(
484  ULONG storageType,
485  ULONG messageIndex );
486 
487 typedef void (GOBICALLBACK * tFNNewSMSCB)(
488  BYTE ackIndicator,
489  ULONG transactionId,
490  BYTE format,
491  USHORT length,
492  BYTE* rawData );
493 
494 typedef void (GOBICALLBACK * tFNMsgWaitingCB)(
495  BYTE numInstances,
496  BYTE* msgType,
497  BYTE* indStatus,
498  BYTE* msgCount);
499 
500 // New NMEA sentence callback function
501 typedef void (GOBICALLBACK * tFNNewNMEA)( LPCSTR pNMEA );
502 
503 // PDS session state callback function
504 typedef void (GOBICALLBACK * tFNPDSState)(
505  ULONG enabledStatus,
506  ULONG trackingStatus );
507 
508 // CAT event callback function
509 typedef void (GOBICALLBACK * tFNCATEvent)(
510  ULONG eventID,
511  ULONG eventLen,
512  BYTE * pEventData );
513 
514 // OMA-DM network initiated alert callback function
515 typedef void (GOBICALLBACK * tFNOMADMAlert)(
516  ULONG sessionType,
517  USHORT sessionID );
518 
519 // OMA-DM state callback function
520 typedef void (GOBICALLBACK * tFNOMADMState)(
521  ULONG sessionState,
522  ULONG failureReason );
523 
524 
525 
526 
527 // Device removal callback function
528 typedef void (GOBICALLBACK * tFNDeviceRemoval)();
529 
530 // Network Time callback function
531 typedef void (GOBICALLBACK * tFNNetworkTime)(
532  WORD m_year,
533  BYTE m_month,
534  BYTE m_day,
535  BYTE m_hour,
536  BYTE m_minute,
537  BYTE m_second,
538  BYTE m_dayOfWeek,
539  BYTE m_timeZone,
540  BYTE m_dayLightAdj
541  );
542 
543 typedef void (GOBICALLBACK * tFNSystemSelectionPref)(BYTE * Mode);
544 
545 #ifdef __cplusplus
546  };
547 #endif
548 
549 /*=========================================================================*/
550 // Prototypes
551 /*=========================================================================*/
552 
566 IMPORTGOBI ULONG GOBICMAPI QCWWAN2kEnumerateDevices(
567  BYTE * pDevicesSize,
568  BYTE * pDevices );
569 
581 IMPORTGOBI ULONG GOBICMAPI QCWWAN2kConnect(
582  CHAR * pDeviceID,
583  CHAR * pDeviceKey );
584 
595 IMPORTGOBI ULONG GOBICMAPI QCWWANConnect();
596 
605 IMPORTGOBI ULONG GOBICMAPI QCWWANCancel();
606 
615 IMPORTGOBI ULONG GOBICMAPI QCWWANDisconnect();
616 
632 IMPORTGOBI ULONG GOBICMAPI QCWWAN2kGetConnectedDeviceID(
633  ULONG deviceIDSize,
634  CHAR * pDeviceID,
635  ULONG deviceKeySize,
636  CHAR * pDeviceKey );
637 
650 IMPORTGOBI ULONG GOBICMAPI QCWWANGetConnectedDeviceID(
651  ULONG stringSize,
652  CHAR * pString );
653  // End of GCM group
655 #endif
CHAR NetworkDescription[255]
Definition: GobiConnectionMgmtAPI.h:396
ULONG nRadioIf[255]
Definition: GobiConnectionMgmtAPI.h:354
ULONG nPsAttachState
Definition: GobiConnectionMgmtAPI.h:335
ULONG nDataCapabilities[255]
Definition: GobiConnectionMgmtAPI.h:381
IMPORTGOBI ULONG GOBICMAPI QCWWANDisconnect()
ULONG nRegistrationState
Definition: GobiConnectionMgmtAPI.h:323
Definition: GobiConnectionMgmtAPI.h:302
Definition: GobiConnectionMgmtAPI.h:285
ULONG nNumOfRadioIf
Definition: GobiConnectionMgmtAPI.h:344
Definition: GobiConnectionMgmtAPI.h:110
Definition: GobiConnectionMgmtAPI.h:308
Definition: GobiConnectionMgmtAPI.h:119
ULONG nRoamingIndicator
Definition: GobiConnectionMgmtAPI.h:362
ULONG nNetworkDescriptionLength
Definition: GobiConnectionMgmtAPI.h:393
IMPORTGOBI ULONG GOBICMAPI QCWWANConnect()
ULONG nVersion
Definition: GobiConnectionMgmtAPI.h:311
IMPORTGOBI ULONG GOBICMAPI QCWWAN2kConnect(CHAR *pDeviceID, CHAR *pDeviceKey)
WORD nMobileCountryCode
Definition: GobiConnectionMgmtAPI.h:385
Definition: GobiConnectionMgmtAPI.h:171
Definition: GobiConnectionMgmtAPI.h:151
Definition: GobiConnectionMgmtAPI.h:82
ULONG nSelectedNetwork
Definition: GobiConnectionMgmtAPI.h:341
IMPORTGOBI ULONG GOBICMAPI QCWWANCancel()
ULONG nCsAttachState
Definition: GobiConnectionMgmtAPI.h:329
IMPORTGOBI ULONG GOBICMAPI QCWWAN2kGetConnectedDeviceID(ULONG deviceIDSize, CHAR *pDeviceID, ULONG deviceKeySize, CHAR *pDeviceKey)
BYTE nDataCapabilityListLen
Definition: GobiConnectionMgmtAPI.h:365
Definition: GobiConnectionMgmtAPI.h:292
Definition: GobiConnectionMgmtAPI.h:249
IMPORTGOBI ULONG GOBICMAPI QCWWANGetConnectedDeviceID(ULONG stringSize, CHAR *pString)
Definition: GobiConnectionMgmtAPI.h:197
Definition: GobiConnectionMgmtAPI.h:225
IMPORTGOBI ULONG GOBICMAPI QCWWAN2kEnumerateDevices(BYTE *pDevicesSize, BYTE *pDevices)
WORD nMobileNetworkCode
Definition: GobiConnectionMgmtAPI.h:389